package com.ygqh.baby.mapper;

import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.model.UserMemberModel;
import com.ygqh.baby.po.YgUserMember;
import com.ygqh.baby.po.YgUserMemberExample;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface YgUserMemberMapper {
	int countByExample(YgUserMemberExample example);

	int deleteByExample(YgUserMemberExample example);

	int deleteByPrimaryKey(Long id);

	int insert(YgUserMember record);

	int insertSelective(YgUserMember record);

	List<YgUserMember> selectByExample(YgUserMemberExample example);

	YgUserMember selectByPrimaryKey(Long id);

	int updateByExampleSelective(@Param("record") YgUserMember record, @Param("example") YgUserMemberExample example);

	int updateByExample(@Param("record") YgUserMember record, @Param("example") YgUserMemberExample example);

	int updateByPrimaryKeySelective(YgUserMember record);

	int updateByPrimaryKey(YgUserMember record);

	int countSuper(@Param("q") String q, @Param("nickName") String nickName);

	List<YgUserMember> selectSuper(@Param("queryInfo") QueryInfo queryInfo, @Param("q") String q,
			@Param("nickName") String nickName);
	/**
	 * 只适用于老女王（调用需谨慎）
	* @Title: isVip 
	*  @param userId
	*  @return    入参
	* @return Boolean    返回类型
	* @author （guohao） 
	* @throws
	* @date 2018年11月19日 下午12:04:49 
	* @version V1.0
	 */
	Boolean isVip(@Param("userId") Long userId);

	List<YgUserMember> selectCountVip(@Param("queryInfo")QueryInfo queryInfo);

	int countVip();

	List<UserMemberModel> selectUserByEndDate(@Param("minEndDate") Date minEndDate,
											  @Param("maxEndDate") Date maxEndDate);
}
